package com.cgnpc.scp.hse.service;

import com.cgnpc.cud.core.domain.AjaxResult;
import com.cgnpc.scp.common.pojo.UserInfo;
import com.cgnpc.scp.hse.mybatis.entity.HseCheckOptionsConfig;

import java.util.List;
import java.util.Locale;

/******************************
 * 用途说明: 调试HSE管理-检查选项配置
 * 作者姓名: yblrs
 * 创建时间: 2020/8/20 22:20
 ******************************/
public interface IHseCheckOptionsConfigService {

    /**********************************
     * 用途说明: 调试HSE管理-检查选项配置---查询指定会议配置
     * 参数说明: String meetingInfoId
     * 返回值说明: Object
     ***********************************/
    <T extends HseCheckOptionsConfig> List<T> queryByMeetingInfoId(String meetingInfoId);

    /**********************************
     * 用途说明: 调试HSE管理-检查选项配置---查询指定会议配置菜单树
     * 参数说明: String meetingInfoId
     * 返回值说明: Object
     ***********************************/
    <T extends HseCheckOptionsConfig> List<T> queryTreeByMeetingInfoId(String meetingInfoId);

    /**********************************
     * 用途说明: 调试HSE管理-检查选项配置---保存
     * 参数说明: UserInfo loginUserInfo, Locale reqLocale, String meetingInfoId, List<T> reqEntityList
     * 返回值说明: Object
     ***********************************/
    <T extends HseCheckOptionsConfig> int save(UserInfo loginUserInfo, Locale reqLocale, String meetingInfoId, List<T> reqEntityList);

    /**********************************
     * 用途说明: 调试HSE管理-检查选项配置---检查操作
     * 参数说明: UserInfo loginUserInfo, Locale reqLocale, List<T> reqEntityList
     * 返回值说明: AjaxResult
     ***********************************/
    <T extends HseCheckOptionsConfig> AjaxResult inspection(UserInfo loginUserInfo, Locale reqLocale, List<T> reqEntityList);

    /**********************************
     * 用途说明: 调试HSE管理-检查选项配置---根据会议id检查配置项
     * 参数说明: List<String> reqMeetingInfoIdList
     * 返回值说明: AjaxResult
     ***********************************/
    <T extends HseCheckOptionsConfig> AjaxResult deleteById(List<String> reqMeetingInfoIdList);
}
